import Axios from 'axios'
import Router from '../router'
import app from '../main'
import apiConfig from '../../config/api.config'


Axios.defaults.timeout = 10000;
Axios.defaults.baseURL = apiConfig.baseURL  // 开发请求跨域, 这里设置proxy代理, 参考: https://github.com/daoyi7/proxy-vue 
Axios.defaults.headers.post['Content-Type'] = 'application/json'

// 请求拦截器
Axios.interceptors.request.use(config => {
  app.$Progress.start()
  if(config.method === 'post') {
    config.data = JSON.stringify(config.data)
  }
  return config
}, error => {
  return Promise.reject(error)
})

// 响应拦截器
Axios.interceptors.response.use(res => {
  app.$Progress.finish()
  if(res.data.error_code === '过期的code'){
    Router.replace({
      path: '/login',
      query: {redirect: Router.currentRoute.fullPath}
    })
  }
  return res.data
}, error => {
  // 404可以在这里处理
  return Promise.reject(error)
})

export default Axios